//
//  SetVC.swift
//  LeTu
//
//  Created by gy on 2023/12/7.
//

import UIKit

class SetVC: BaseViewController {

    private var viewModel = SetVM()
    
    override func viewDidLoad() {
        super.viewDidLoad()

        configUI()
        refreshData()
        
    }
    override func refreshData() {
        super.refreshData()
        
        title = "设置".localized
        viewModel.updateItems()
        setTableView.reloadData()
    }
    
    // MARK: - configUI
    func configUI() {
        
        navIsHidden = false
        
        view.addSubview(setTableView)
        
        setTableView.snp.makeConstraints { make in
            make.edges.equalToSuperview()
        }

        
        setTableView.delegate = self
        setTableView.dataSource = self
        setTableView.register(cellClass: BaseArrowTableViewCell.self)
        

    }
    private lazy var setTableView: UITableView = {
        let setTableView = UITableView()
        setTableView.tableFooterView = UIView()
        setTableView.showsVerticalScrollIndicator = false
        return setTableView
    }()

}

extension SetVC: UITableViewDelegate, UITableViewDataSource {
    
    func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
        return 10
    }
    func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
        let header = UIView(frame: CGRect(x: 0, y: 0, width: screenWidth, height: tableView.sectionFooterHeight))
        header.backgroundColor = .app_viewBackgroundColor
        return header
    }
    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return 68
    }
    func numberOfSections(in tableView: UITableView) -> Int {
        return viewModel.items.count
    }
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return viewModel.items[section].count
    }
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(BaseArrowTableViewCell.self, indexPath: indexPath)
        let item = viewModel.items[indexPath.section][indexPath.row]
        cell.setItem(item)
        return cell
    }
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        
        let item = viewModel.items[indexPath.section][indexPath.row]
        if item.title == "语言选择".localized {
            LanguageManager.shared.exchangeLanguage()
        } else if item.title == "账户信息".localized {
            show(UserInfomationVC(), sender: nil)
        } else if item.title == "关于我们".localized {
            show(AboutUsVC(), sender: nil)
        } else if item.title == "账户安全".localized {
            show(AccountSecurityVC(), sender: nil)
        } else if item.title == "版本更新".localized {
            UserManager.checkUpgrade()
        }
        
    }
    
}
